---
title: Using in-app purchases
description: Learn about how to use in-app purchases in your Expo app.
hideTOC: true
hasVideoLink: true
---

import { GithubIcon } from '@expo/styleguide-icons/custom/GithubIcon';
import { BookOpen02Icon } from '@expo/styleguide-icons/outline/BookOpen02Icon';

import { BoxLink } from '~/ui/components/BoxLink';
import { CODE } from '~/ui/components/Text';
import { VideoBoxLink } from '~/ui/components/VideoBoxLink';

In-app purchases (IAP) are transactions within a mobile or desktop application where users can buy digital goods or additional features. This guide provides a list of popular libraries and tutorials for implementing IAP in your Expo app.

> In-app purchase libraries require configuring custom native code. Native code is not configurable when using Expo Go. Instead, create a [development build](/develop/development-builds/introduction/), which allows using a native library in your project.

## Tutorial

<VideoBoxLink videoId="R3fLKC-2Qh0" title="Watch: How to Implement In-App Purchases in Expo" />

<br />

<BoxLink
  title="Expo In-App Purchase Tutorial"
  description={
    <>
      The getting started guide for in-app purchases and subscriptions with{' '}
      <CODE>react-native-purchases</CODE> library and RevenueCat.
    </>
  }
  href="https://www.revenuecat.com/blog/engineering/expo-in-app-purchase-tutorial/"
  Icon={BookOpen02Icon}
/>

## Libraries

The following libraries provide robust support for in-app purchase functionality and out-of-the-box compatibility with Expo apps using [CNG](/workflow/continuous-native-generation/) and [Config Plugins](/config-plugins/introduction/) for seamless integration in your app.

<BoxLink
  title={
    <>
      <CODE>react-native-purchases</CODE>
    </>
  }
  description="An open-source framework that provides a wrapper around Google Play Billing and StoreKit APIs, and integration with RevenueCat services supporting in-app purchases. It enables product management, analytics, and simplified workflows for in-app purchase requirements that may extend beyond your client code, such as validating purchases on an app's backend."
  href="https://github.com/RevenueCat/react-native-purchases"
  Icon={GithubIcon}
/>

<BoxLink
  title={
    <>
      <CODE>expo-iap</CODE>
    </>
  }
  description="A React Native library for in-app purchases that works with development builds."
  href="https://github.com/hyochan/expo-iap"
  Icon={GithubIcon}
/>
